﻿using Commons;

using Switch;

namespace 运算符示例
{
    /// <summary>
    /// 计算器
    /// </summary>
    internal class Program
    {
        static void Main(string[] args)
        {
            // 计算器
            var intput1 = Console.ReadLine();
            var op = Console.ReadLine();
            var intput2 = Console.ReadLine();

            // 加法
            int input1Val = int.Parse(intput1);
            int input2Val = int.Parse(intput2);

            // 如何将字符串转换为枚举类型，可以作为约束用户输入的行为
            // (显式转换枚举类型)Enum.Parse(类型的Type,字符串)
            // Type也是一种数据类型
            // System.Type类： 在C#中，"Type"也可以指代System.Type类，它用于获取对象的类型信息。通过typeof关键字或对象的GetType()方法，可以获取对象的Type实例，从而获得关于该对象类型的信息，比如名称、成员等。
            OperatorType operatorType = (OperatorType)Enum.Parse(typeof(OperatorType), op);

            var output = SwitchType.SwitchMethod(input1Val, input2Val, operatorType);
            Console.WriteLine($"{input1Val}+{input2Val}={output}");

            // 减法、乘法、除法、取余、自增加、自增减
        }
    }
}
